Skip to content

release: 3.11.0#92

Merged
RushitaThakkar merged 9 commits intomainfrom
release-please--branches--main--changes--next
Feb 17, 2026
Merged

release: 3.11.0#92
RushitaThakkar merged 9 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Contributor

@stainless-app stainless-app bot commented Feb 10, 2026

Automated Release PR

3.11.0 (2026-02-17)

Full Changelog: v3.10.1...v3.11.0

Features

Bug Fixes

  • client: loosen auth header validation (bf5fa9f)

Chores

  • internal: codegen related update (07eeda8)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Feb 10, 2026

🧪 Testing

To try out this version of the SDK, run:

pip install 'https://pkg.stainless.com/s/gradient-python/a30df710a8d0baaaf2eb8d106d510d65c3f07455/gradient-3.10.1-py3-none-any.whl'

Expires at: Thu, 19 Mar 2026 18:29:40 GMT
Updated at: Tue, 17 Feb 2026 18:29:40 GMT

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 120bb11 to 4b2b78d Compare February 11, 2026 18:34
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 4b2b78d to bc92b91 Compare February 17, 2026 18:29
@stainless-app stainless-app bot changed the title release: 3.10.2 release: 3.11.0 Feb 17, 2026
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from bc92b91 to 2674257 Compare February 17, 2026 18:29
@RushitaThakkar RushitaThakkar merged commit 6ae89a2 into main Feb 17, 2026
15 checks passed
@RushitaThakkar RushitaThakkar deleted the release-please--branches--main--changes--next branch February 17, 2026 20:09
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Feb 17, 2026

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Automated 3.11.0 release PR that updates the generated SDK to the latest OpenAPI spec, adding new API surface (Responses, Billing insights, Apps job invocation cancel) and extending Knowledge Base chunking configuration, along with internal client/serialization enhancements and version/dependency bumps.

Changes:

  • Add new API resources: responses.create, billing.list_insights, and apps.job_invocations.cancel (+ associated types/tests/docs).
  • Extend Knowledge Base data source and create params/models with chunking algorithm/options and add a data source update endpoint.
  • Update client internals to support raw/streaming request bodies via content and to serialize JSON bodies with a custom encoder (openapi_dumps); bump version to 3.11.0.

Reviewed changes

Copilot reviewed 67 out of 69 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/test_utils/test_json.py Adds unit tests for openapi_dumps JSON serialization behavior.
tests/api_resources/test_responses.py Adds generated tests for new responses.create endpoint (skipped).
tests/api_resources/test_knowledge_bases.py Updates KB tests to include new chunking fields.
tests/api_resources/test_billing.py Adds generated tests for new billing insights endpoint (skipped).
tests/api_resources/knowledge_bases/test_data_sources.py Updates data source tests and adds coverage for new update method (skipped).
tests/api_resources/gpu_droplets/test_images.py Adjusts test fixture values for GPU droplet image creation.
tests/api_resources/apps/test_job_invocations.py Adds generated tests for Apps job invocation cancellation (skipped).
tests/api_resources/apps/init.py Adds package marker for generated apps tests.
tests/api_resources/agents/test_evaluation_test_cases.py Updates agent evaluation test case creation params in tests.
tests/api_resources/agents/test_evaluation_runs.py Updates agent evaluation run creation params in tests.
tests/api_resources/agents/test_evaluation_datasets.py Updates evaluation dataset creation params in tests.
src/gradient/types/shared/create_response_stream_response.py Adds streamed response chunk model for Responses API.
src/gradient/types/shared/create_response_response.py Adds non-streaming response model for Responses API.
src/gradient/types/shared/completion_usage.py Extends completion usage model with cache-related fields.
src/gradient/types/shared/init.py Exposes new Responses types via shared types package.
src/gradient/types/retrieve_documents_params.py Removes a trailing whitespace line in params typing.
src/gradient/types/response_create_params.py Adds request params typing for Responses API.
src/gradient/types/knowledge_bases/data_source_update_response.py Adds response model for KB data source update.
src/gradient/types/knowledge_bases/data_source_update_params.py Adds params typing for KB data source update.
src/gradient/types/knowledge_bases/data_source_create_params.py Adds chunking params support for KB data source create.
src/gradient/types/knowledge_bases/api_knowledge_base_data_source.py Adds chunking fields to KB data source model.
src/gradient/types/knowledge_bases/init.py Exposes new KB update params/response types.
src/gradient/types/knowledge_base_create_params.py Adds chunking fields/options for KB create datasource config.
src/gradient/types/chat/completion_create_params.py Adds cache_control typing for chat message content parts.
src/gradient/types/billing_list_insights_response.py Adds response model for billing insights.
src/gradient/types/billing_list_insights_params.py Adds params typing for billing insights query parameters.
src/gradient/types/apps/job_invocation_cancel_response.py Adds response model for Apps job invocation cancel.
src/gradient/types/apps/job_invocation_cancel_params.py Adds params typing for Apps job invocation cancel.
src/gradient/types/apps/init.py Exposes apps types package.
src/gradient/types/api_model.py Adds KB chunk size hints to model metadata.
src/gradient/types/api_agent_model.py Adds KB chunk size hints to agent model metadata.
src/gradient/types/agents/evaluation_test_case_create_params.py Adds agent_workspace_name to evaluation test case create params.
src/gradient/types/agents/evaluation_run_create_params.py Adds agent_deployment_names and clarifies legacy agent UUIDs.
src/gradient/types/agents/evaluation_dataset_create_params.py Adds dataset_type enum to evaluation dataset create params.
src/gradient/types/agents/chat/completion_create_params.py Mirrors chat cache_control typing changes for agents chat.
src/gradient/types/agents/api_evaluation_run.py Adds agent_deployment_name to evaluation run model.
src/gradient/types/agents/api_evaluation_prompt.py Adds evaluation trace spans and trace id to prompt model.
src/gradient/types/init.py Exposes newly added public types (responses, billing, etc.).
src/gradient/resources/retrieve.py Expands docs describing hybrid search behavior.
src/gradient/resources/responses.py Adds Responses API resource supporting streaming and non-streaming create.
src/gradient/resources/knowledge_bases/knowledge_bases.py Minor formatting changes for validation/errors and wrapper properties.
src/gradient/resources/knowledge_bases/data_sources.py Adds chunking params to create and introduces data source update endpoint.
src/gradient/resources/billing.py Adds Billing resource with list_insights.
src/gradient/resources/apps/job_invocations.py Adds Apps JobInvocations resource with cancel.
src/gradient/resources/apps/apps.py Adds Apps resource namespace and response wrappers.
src/gradient/resources/apps/init.py Exports apps resources.
src/gradient/resources/init.py Registers new resources (apps, billing, responses) in top-level exports.
src/gradient/_version.py Bumps SDK version to 3.11.0.
src/gradient/_utils/_json.py Introduces openapi_dumps with custom JSON encoding (datetime/pydantic).
src/gradient/_utils/_compat.py Adds typing ignore for union comparison overlap.
src/gradient/_types.py Adds BinaryTypes / AsyncBinaryTypes for raw/streaming request content.
src/gradient/_models.py Extends request options to support content (binary/iterable bodies).
src/gradient/_compat.py Extends model_dump wrapper with by_alias support.
src/gradient/_client.py Registers new resources on the client (apps, billing, responses) and wrappers.
src/gradient/_base_client.py Adds content plumbing for requests and uses openapi_dumps for JSON bodies.
requirements.lock Updates locked runtime dependency versions.
requirements-dev.lock Updates locked dev dependency versions.
pyproject.toml Bumps project version to 3.11.0.
api.md Updates generated API documentation for new endpoints/types.
CHANGELOG.md Adds 3.11.0 changelog entry.
.stats.yml Updates Stainless/OpenAPI generation metadata.
.release-please-manifest.json Updates release-please manifest to 3.11.0.
.github/workflows/release-doctor.yml Updates workflow checkout action version.
.github/workflows/publish-pypi.yml Updates workflow checkout action version.
.github/workflows/ci.yml Updates workflow checkout action version (inconsistently across jobs).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

elif not files:
# Don't set content when JSON is sent as multipart/form-data,
# since httpx's content param overrides other body arguments
kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) and json_data is not None else None
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When json_data is explicitly set to None (and is considered “given”), the previous behavior using httpx's json= would send a JSON null body. This new logic sets content=None, which results in an empty body instead. If any endpoints rely on an explicit JSON null, this is a behavioral regression. Consider encoding None as b"null" (or using openapi_dumps(json_data) without the json_data is not None guard) when is_given(json_data) is true.

Suggested change
kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) and json_data is not None else None
kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) else None

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants